iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

那些有趣的程式系列 第 18

【Day18】從零開始的程式大亂鬥:JavaScript-Web Storage

  • 分享至 

  • xImage
  •  

Web Storage 可以讓我們儲存資料在使用者的瀏覽器中,有兩種存儲方式可以使用:

  • Window.localStorage
  • Window.sessionStorage

兩者的差別在於:

  • 存在 Window.localStorage 的資料會永久儲存,直到被使用者刪除。
  • 存在 Window.sessionStorage 的資料會在網頁關閉後清空,只要該網頁沒被關閉或者有還原(restore)該頁面,資料就會保存。

Storage 有以下方法可以使用:

// 傳入key與value,會新增此key與value
localStorage.setItem();
sessionStorage.setItem();

// 傳入一key,會返回對應此key的value
localStorage.getItem();
sessionStorage.getItem();

// 傳入一key,會刪除此key與對應的value
localStorage.removeItem();
sessionStorage.removeItem();

// 執行此方法,會刪除所有的key與對應的value
localStorage.clear();
sessionStorage.clear();

有一點要注意,不管 keyvalue 是什麼類型的資料,都會將兩者轉型為字串再存入Storage。

Example:

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript-Web Storage</title>
        <script>
            sessionStorage.setItem('content', 'Web Storage');
        </script>
    </head>
    <body>
        <div class="content"></div>
        <script>
            var content = document.querySelector('.content');
            content.innerText = sessionStorage.getItem('content');
        </script>
    </body>
</html>

以上程式大致分為兩部分:

  1. 儲存
sessionStorage.setItem('content', 'Web Storage');

此時 Storage 中的資料如下:

Key Value
"content" "Web Storage"
  1. 讀取並把內容插入DOM
content.innerText = sessionStorage.getItem('content');

因為是使用 sessionStorage 所以在網頁關閉後,資料就會清空。
網頁關閉後 Storage 中的資料如下:

Key Value
   

上一篇
【Day17】從零開始的程式大亂鬥:JavaScript-操作DOM
下一篇
【Day19】從零開始的程式大亂鬥:JavaScript-ES5
系列文
那些有趣的程式35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言